iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
Python

30 天學會用 Python pandas 和 openpyxl 處理 Excel —— 成為用 Python 處理 Excel 檔案的高手系列 第 3

Python pandas 選取與更變 DataFrame 欄位【Python 處理 Excel #3】

  • 分享至 

  • xImage
  •  

本篇文章同步發布於 Python pandas 選取與更變 DataFrame 欄位【Python 處理 Excel #3】

前言

這篇文章介紹 Python pandas 套件如何對 DataFrame 選取特定欄位、更變欄位順序與欄位名稱。


案例資料說明

文章中使用 example.xlsx 作為說明用的案例資料。example.xlsx 的內容如下:

order_id create_date order_quantity unit_price requested_ship_date
10000 2024/6/5 45 1000 2024/7/3
10001 2024/6/6 165 1000 2024/7/14
10002 2024/6/13 265 1200 2024/7/31
10003 2024/6/15 120 1000 2024/7/13
10004 2024/6/16 115 1000 2024/7/31

選取單個欄位

以選取 order_id 欄位為例:

import pandas as pd
# 讀取 Excel 檔案
df = pd.read_excel('example.xlsx')
# 選取單個欄位
order_id = df['order_id']
# 顯示前五個 order_id
print(order_id.head())

解釋

  • df['order_id']:從 DataFrame 中選取名為 order_id 的欄位,這將返回一個 Pandas Series。

選取多個欄位

有時候 DataFrame 的欄位太多,只想要選其中幾個欄位進行處理。以下以選取 order_idorder_quantity 欄位為例:

# 選取多個欄位
selected_columns = df[['order_id', 'order_quantity']]
# 顯示前五個數據
print(selected_columns.head())

解釋

  • df[['order_id', 'customer_id']]:從 DataFrame 中選取 order_idorder_quantity 兩個欄位,這將返回一個新的 DataFrame,其中僅包含這些選取的欄位。

更變欄位順序

更變欄位順序和選取多個欄位的概念很像,選取欄位時將欄位按照想要的順序排序列出,並重新指定給 DataFrame,DataFrame 中的欄位順序也會跟著改變了。以下示範如何更變欄位順序:

# 更變欄位順序
new_order = ['order_id', 'order_quantity', 'unit_price', 'create_date ', 'requested_ship_date']
df = df[new_order]
# 顯示前五個數據
print(df.head())

解釋

  • new_order = ['order_id', 'order_quantity', 'unit_price', 'create_date ', 'requested_ship_date']:定義新的欄位順序。
  • df = df[new_order]:重新排列 DataFrame 中的欄位順序,並將結果賦值回 df

更變欄位名稱

有時候更變欄位名稱能讓人更容易理解數據。以下以將 requested_ship_date 改為 ship_date 為例:

# 更變欄位名稱
df.rename(columns={'requested_ship_date': 'ship_date'}, inplace=True)
# 顯示前五個數據
print(df.head())

解釋

  • rename:pandas 的函數,用於更變 DataFrame 中的欄位名稱。
  • columns={'requested_ship_date': 'ship_date'}:指定要更變的欄位名稱,此處將 requested_ship_date 更變為 ship_date
  • inplace=True:表示直接在原 DataFrame 上進行修改,若設為 False 則會返回一個新的 DataFrame。

總結

  • pandas 能針對 DataFrame 的特定欄位進行選取與改變順序。
  • rename 函數能夠更改 DataFrame 中的欄位名稱。

本篇文章同步發布於 Python pandas 選取與更變 DataFrame 欄位【Python 處理 Excel #3】


上一篇
Python pandas 讀取 Excel 檔案【Python 處理 Excel #2】
下一篇
Python pandas 增加 DataFrame 欄位以及 apply 用法【Python 處理 Excel #4】
系列文
30 天學會用 Python pandas 和 openpyxl 處理 Excel —— 成為用 Python 處理 Excel 檔案的高手27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言